msg = 'hello,world'  # 字符串是一个不可变的数据类型
# len()    in / not in
# 字符串 读取字符串 通过下标读取
print(msg[4])
# 查找第一次出现的下标，查找不到报错
res = msg.index('o')
print(res)
# 统计指定字符出现的次数
res = msg.count('o')
print(res)
# 查找指定字符第一次/最后一次的下标，找不到返回-1
res1 = msg.find('o')  # 第一次
res2 = msg.rfind('o')  # 最后一次
# 判断是否大写
res3 = msg.isupper()
# 判断是否小写
res4 = msg.islower()
print(res3, res4)
# 转换成大写，返回转换后的结果
res5 = msg.upper()
# 转换成小写，返回转换后的结果
res6 = msg.lower()
print(res5, res6)
# 字符填充，填充字符串到指定的长度（长度，‘字符’），如果字符串超过了需要填充的长度，就不填充
msg = '张三'
res7 = msg.center(10, '*')  # 居中填充
res8 = msg.ljust(10, '*')  # 居左填充
res9 = msg.rjust(10, '*')  # 居右填充
print(res7, res8, res9)
# 去除空格，括号内不填任何内容，默认去除空格；括号内填写内容，去除掉填写的内容
msg1 = '     张三     '
res10 = msg.strip()  # 去除掉 字符串 左右两边的空格与回车
res11 = msg.lstrip()  # 去除掉 字符串 左边的空格与回车
res12 = msg.rstrip()  # 去除掉 字符串 右边的空格与回车
print(res1)
print(res2)
print(res3)
# 替换,将 ‘字符1’ 替换成 ‘字符2’
msg2 = 'hello,world,python'
res13 = msg2.replace('o', 'A')  # 默认替换所有
# msg2.replace('o', 'A', 2)  # 将前面两个o 替换成A
print(res13)
# 判断字符串中，是否全是数字
res14 = msg2.isdigit()
print(res14)
# 将msg2字符按照,分割  结果以 list 列表形式返回
res15 = msg2.split(',')  # [hello, world, python]
print(res15)
# 判断字符串是否以n字符结尾
res16 = msg2.endswith('n')
print(16)
# join 将前面的字符串，插入在后面的列表每个元素之间
msg3 = ''  # 将空格插入到列表中每个元素的中间
res17 = msg3.join(['python', 'java', 'php'])  # python java php
print(res17)

# 格式化输出字符串，按照设置的格式，输出内容
name = '张三'
age = 18
sal = 9999.99
# 方法一   %d 整数,  %f 小数,（%.2f保留两位小数）  %s 字符串
msg4 = '你好，我是%s，我今年%d岁，我的工资是%.2f元' % (name, age, sal)
print(msg4)
# 方法二   format()
msg5 = '你好，我是{}，我今年{}岁，我的工资是{}元'.format(name, age, sal)
print(msg5)
# 方法三   f""
msg6 = f'你好，我是{name}，我今年{age}岁，我的工资是{sal}元,我的日新是{sal/22}'
print(msg6)
